﻿using System.Collections.Generic;
using System.Threading.Tasks;
using BCEntity.CRM.CustomerInfo;
using BCEntity.Sim.Admin.Admin;

namespace BCData.CRM.CustomerInfo
{
    public interface ICustomerInfoData
    {
        Task<bool> Delete(long ccCustomerInfoId);
        Task<CustomerInfoEntity> GetByIdAsync(long ccCustomerInfoId);
        Task<IEnumerable<CustomerInfoEntity>> GetAllAsync(int companyId);
        Task<CustomerInfoEntity> InsertAsync(CustomerInfoEntity ccCustomerInfoEntity);
        Task<CustomerInfoEntity> UpdateAsync(CustomerInfoEntity ccCustomerInfoEntity);
        Task<(int ,IEnumerable<CustomerInfoEntity>)> GetListAsync( 
                             AdminEntity ccAdminEntity,
                            int companyId,
                            string ccUserName,
                            string ccPhone,
                            string ccResourceType,
                            string ccCustomerType,
                            bool? ccIsFill,
                            string ccProvinceName,
                            string ccCityName,
                            string ccCountyName,
                            int ccPageNo,
                            int ccPageSize);
    }
}